#ifndef INTSTATUS_H_
#define INTSTATUS_H_

#include "StatusElement.h"

/**
 * \class IntStatus
 * \brief a StatusElement-derived class which holds a long
 */
class IntStatus: public StatusElement {
public:
	/**
	 * \brief IntStatus must be constructed with the description
	 */
	IntStatus(std::string statusDescription);
	virtual ~IntStatus();

	/**
	 * \brief redefinition of \a Element::getType() to return the correct value.
	 * \return INTSTATUS
	 */
	int getType();
	/**
	 * \brief set the long value to store
	 * \param newIntValue the new long to store
	 */
	void setValueInt(long newIntValue);
	/**
	 * \brief get the stored long value
	 * \return the stored long value
	 */
	long getValueInt();

	void setValue(void* newValue);

private:
	/**
	 *\brief the storage member of the long
	 */
	long valueInt;
};

#endif /* INTSTATUS_H_ */
